$(function() {
	var loading = false;
	// 允许分页返回的最大条数
	var maxItems = 999;
	// 每页显示的条数
	var pageSize = 10;
	// 获取店铺列表
	var listUrl = '/frontend/listshops';
	// 获取店铺类别和区域列表
	var searchDivUrl = '/frontend/listshopspageinfo';
	// 页码
	var pageNum = 1;
	// 获取父级ID
	var parentId = getQueryString('parentId');
	var areaId = '';
	var shopCategoryId = '';
	var shopName = '';

	/**
	 * 渲染店铺类别和区域列表
	 */
	function getSearchDivData() {
		// 如果传入了父级I，则取出此一级类别下所有的二级类别
		var url = searchDivUrl + '?' + 'parentId=' + parentId;
		$.getJSON(url,function(data) {
			if (data.success) {
				// 获取店铺类别列表
				var shopCategoryList = data.shopCategoryList;
				var html = '';
				html += '<a href="#" class="button" data-category-id=""> 全部类别  </a>';
				shopCategoryList.map(function(item, index) {
					html += '<a href="#" class="button" data-category-id='
							+ item.shopCategoryId
							+ '>'
							+ item.shopCategoryName
							+ '</a>';
				});
				$('#shoplist-search-div').html(html);
				// 获取区域列表
				var selectOptions = '<option value="">全部街道</option>';
				var areaList = data.areaList;
				areaList.map(function(item, index) {
					selectOptions += '<option value="'
							+ item.areaId + '">'
							+ item.areaName + '</option>';
				});
				$('#area-search').html(selectOptions);
			}
		});
	}
	getSearchDivData();

	/**
	 * 获取分页展示的店铺列表信息
	 * @param pageSize
	 * @param pageIndex
	 */
	function addItems(pageSize, pageIndex) {
		// 拼接查询的URL，空值去掉，赋值查询
		var url = listUrl + '?' + 'pageIndex=' + pageIndex + '&pageSize='
				+ pageSize + '&parentId=' + parentId + '&areaId=' + areaId
				+ '&shopCategoryId=' + shopCategoryId + '&shopName=' + shopName;
		// 加载控制，避免重复多次访问后台
		loading = true;
		$.getJSON(url, function(data) {
			if (data.success) {
				// 获取当前条件下的店铺总数
				maxItems = data.count;
				var html = '';
				data.shopList.map(function(item, index) {
					html += '' + '<div class="card" data-shop-id="'
							+ item.shopId + '">' + '<div class="card-header">'
							+ item.shopName + '</div>'
							+ '<div class="card-content">'
							+ '<div class="list-block media-list">' + '<ul>'
							+ '<li class="item-content">'
							+ '<div class="item-media">' + '<img src="'
							+ item.shopImg + '" width="44">' + '</div>'
							+ '<div class="item-inner">'
							+ '<div class="item-subtitle">' + item.shopDesc
							+ '</div>' + '</div>' + '</li>' + '</ul>'
							+ '</div>' + '</div>' + '<div class="card-footer">'
							+ '<p class="color-gray">'
							+ new Date(item.lastEditTime).Format("yyyy-MM-dd")
							+ '更新</p>' + '<span>点击查看</span>' + '</div>'
							+ '</div>';
				});
				$('.list-div').append(html);
				// 获取目前已经渲染的店铺总数
				var total = $('.list-div .card').length;
				// 如果店铺加载到设定总数
				if (total >= maxItems) {
					// // 加载完毕，则注销无限加载事件，以防不必要的加载
					// $.detachInfiniteScroll($('.infinite-scroll'));
					// // 删除加载提示符
					// $('.infinite-scroll-preloader').remove();

					// 隐藏加载
					$('.infinite-scroll-preloader').hide();
				}else {
					$('.infinite-scroll-preloader').show();
				}
				// 否则页码+1，继续加载
				pageNum += 1;
				// 加载结束，可继续加载
				loading = false;
				$.refreshScroller();
			}
		});
	}
	// 预先加载10条
	addItems(pageSize, pageNum);

	/**
	 * 下滑屏幕，自动进行分页检索
	 */
	$(document).on('infinite', '.infinite-scroll-bottom', function() {
		if (loading)
			return;
		addItems(pageSize, pageNum);
	});

	/**
	 * 点击店铺进入详情
	 */
	$('.shop-list').on('click', '.card', function(e) {
		var shopId = e.currentTarget.dataset.shopId;
		window.location.href = '/frontend/shopdetail?shopId=' + shopId;
	});

	/**
	 * 选择新的店铺类别之后，重置页码，清空列表，重新查询
	 */
	$('#shoplist-search-div').on('click', '.button', function(e) {
		// 如果传递过来的是一个父类下的子类
		if (parentId) {
			shopCategoryId = e.target.dataset.categoryId;
			// 改变选中类别的样式
			if ($(e.target).hasClass('button-fill')) {
				$(e.target).removeClass('button-fill');
				shopCategoryId = '';
			} else {
				$(e.target).addClass('button-fill').siblings()
						.removeClass('button-fill');
			}
			// 置空店铺列表
			$('.list-div').empty();
			// 重置页码
			pageNum = 1;
			// 默认加载
			addItems(pageSize, pageNum);
		} else {// 如果传递过来的父类为空，则按照父类查询
			parentId = e.target.dataset.categoryId;
			if ($(e.target).hasClass('button-fill')) {
				$(e.target).removeClass('button-fill');
				parentId = '';
			} else {
				$(e.target).addClass('button-fill').siblings()
						.removeClass('button-fill');
			}
			$('.list-div').empty();
			pageNum = 1;
			addItems(pageSize, pageNum);
			parentId = '';
		}

	});

	/**
	 * 按店铺名字模糊查询的
	 */
	$('#search').on('change', function(e) {
		shopName = e.target.value;
		$('.list-div').empty();
		pageNum = 1;
		addItems(pageSize, pageNum);
	});

	/**
	 * 区域信息改变的
	 */
	$('#area-search').on('change', function() {
		areaId = $('#area-search').val();
		$('.list-div').empty();
		pageNum = 1;
		addItems(pageSize, pageNum);
	});

	/**
	 * 展开侧边栏
	 */
	$('#me').click(function() {
		$.openPanel('#panel-left-demo');
	});

	// 初始化页面
	$.init();
});
